Skip to content

🆗 Fixed code smells and added organization test coverage#22

Merged
hasnimehdi91 merged 2 commits intomasterfrom
feature/add_net9_net10_keycloak_26_support
Apr 2, 2026
Merged

🆗 Fixed code smells and added organization test coverage#22
hasnimehdi91 merged 2 commits intomasterfrom
feature/add_net9_net10_keycloak_26_support

Conversation

@hasnimehdi91
Copy link
Copy Markdown
Contributor

NETCore.Keycloak v2.0.0 Release Notes

BREAKING CHANGES

  • Minimum .NET version raised from 6.0 to 8.0. Supported targets: net8.0, net9.0, net10.0.
  • Keycloak versions 20.x through 23.x are no longer actively tested. Users requiring
    support for these versions should use v1.0.2.

KEYCLOAK 26 SUPPORT

  • Full compatibility with Keycloak 26.5.6.
  • JavaScript authorization policies are now deployed as JAR files instead of inline
    upload via the Admin API, which was removed in Keycloak 26.
  • Added admin-fine-grained-authz:v1 feature flag for Keycloak 26 to restore
    fine-grained admin permissions support.
  • Added organization feature flag for Keycloak 26 realm-level organization support.
  • Updated bootstrap admin environment variables from KEYCLOAK_ADMIN to
    KC_BOOTSTRAP_ADMIN_USERNAME for Keycloak 26 compatibility.
  • Removed deprecated --spi-connections-jpa-legacy-migration-strategy flag for
    Keycloak 25 and above.
  • Adjusted brute force protection settings to prevent test user lockout caused by
    Keycloak 26 stricter rapid-login detection.

NEW FEATURES

  • Organizations API support: full CRUD operations for Keycloak organizations
    (create, list, get, update, delete, count). Available on Keycloak 26 and above.
  • HttpClient socket exhaustion fix: replaced short-lived HttpClient instances with
    a shared HttpClient using SocketsHttpHandler and PooledConnectionLifetime.
    Added optional IHttpClientFactory support for dependency injection scenarios.
    The new KeycloakClient(baseUrl, logger, httpClientFactory) constructor accepts
    an IHttpClientFactory for managed handler lifetimes and connection pooling.
    The existing KeycloakClient(baseUrl, logger) constructor continues to work
    using a default shared HttpClient.

INFRASTRUCTURE

  • Updated Ansible playbooks for compatibility with ansible-core 2.20:
    replaced deprecated ansible_distribution facts with ansible_facts syntax,
    removed template delimiters from assert expressions, and renamed reserved
    variable name 'roles' to 'realm_roles'.
  • Fixed Makefile to export VIRTUAL_ENV_DIR for Ansible inventory compatibility.
  • Updated dotCover integration to use standalone dotCover CLI with XML report
    output instead of dotnet dotcover subcommand.
  • Added kc_version field to test environment configuration for version-aware
    test execution.
  • Updated GitHub Actions workflow to export VIRTUAL_ENV_DIR and removed
    outdated python-keycloak pip install.

DEPENDENCIES

  • Added Microsoft.Extensions.Http for IHttpClientFactory support.
  • Updated psycopg2-binary in Python test requirements.

@hasnimehdi91 hasnimehdi91 added bug Something isn't working enhancement New feature or request dependencies Pull requests that update a dependency file labels Apr 2, 2026
@hasnimehdi91 hasnimehdi91 merged commit 596e948 into master Apr 2, 2026
2 of 5 checks passed
@hasnimehdi91 hasnimehdi91 deleted the feature/add_net9_net10_keycloak_26_support branch April 2, 2026 02:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working dependencies Pull requests that update a dependency file enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant